# Copyright(c) 2008 Tri Tech Information Systems Inc. 
# Distributed under the Boost Software License, Version 1.0.
#     (See accompanying file ../../LICENSE_1_0.txt or copy at
#           http://www.boost.org/LICENSE_1_0.txt)
#     
ParseHeaderFile("llvm/Type.h")

AddIncludedFile("vector.h")

Import( "AbstractTypeUser.pyx" )

Type = CreateClassWrapper("llvm::Type")
Type.addExtra( "expose_vector< llvm::Type* >();")
Type.addExtra( "expose_vector< llvm::Type const * >();")

def PrepareType(klass):
    klass.setHoldType("TypePointer< %s >" % klass.qualifiedName)
    klass.addExtra("TypePointer< %s >::install();" % klass.qualifiedName)

Type.addPreparer( PrepareType )

CreateEnumWrapper("llvm::Type::TypeID")
